Policies or rules are widely used in network applications, such as packet routing, packet classification, access control for network security, and the like. For example, network security has become a concern for maintaining a safe use of computer network resources. Generally, a computer network can use packet switching techniques to enable data, which can be encapsulated in packets, to travel from one network domain to another network domain. Therefore, a computer network can apply access control rules at the packet level during packet switching to ensure safe use of network resources.
A rule can generally include conditions, as well as an action that is associated with the conditions. The action can be applied when the conditions are satisfied. In a software based rule applying technique, access control rules can be implemented in software as conditional statements, such as “CASE” statement. The conditional statements can be executed by a processor to test a packet against a predefined set of access control rules. However, such software based rule testing techniques can result in a bottleneck for packet switching, as a result of insufficiently fast software execution speed.